﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
本题要求编写程序，将给定字符串去掉重复的字符后，按照字符ASCII码顺序从小到大排序后输出。

输入格式：
输入是一个以回车结束的非空字符串（少于80个字符）。

输出格式：
输出去重排序后的结果字符串。

输入样例：
ad2f3adjfeainzzzv
输出样例：
23adefijnvz
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

char buf[81] = { 0 };
int n = 0;

int cmpfunc(const void* a, const void* b)
{
	return (*(char*)a - *(char*)b);
}

char* str_find(const char* s, char c) {
	char* p = s;
	while (*p) {
		if (*p == c)
			return p;
		p++;
	}
	return NULL;
}

void read_data() {
	char c;
	while (scanf("%c", &c)) {
		if (c == '\n' || c == '\r')
			break;
		if (!str_find( buf, c) ){
			buf[n++] = c;
		}
	}
}

void solve() {
	qsort(buf, n, sizeof(char), cmpfunc);
	printf("%s\n", buf);
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-60.txt", "r", stdin);
	read_data();
	solve();
	return 0;
}

//freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-50.txt", "r", stdin);
